package cn.wolfcode.trip.api.controller;

import cn.wolfcode.trip.base.domain.News;
import cn.wolfcode.trip.base.query.NewsQuery;
import cn.wolfcode.trip.base.service.INewsService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 日报资源接口
 */
@RestController
@RequestMapping("news")
public class NewsController {
    @Autowired
    private INewsService newsService;

    /**
     * 获取所有日报资源分页数据的接口
     * 1:资源:        /news
     * 2:请求方式       get
     * 3:请求参数       NewsQuery
     * 4:返回结果       PageInfo
     */
    @GetMapping
    public PageInfo query(NewsQuery qo){
        //设置分页数量
        qo.setPageSize(4);
        //设置为发布状态
        qo.setState(News.STATE_RELEASE);
        //设置排序
        qo.setOrderBy("releaseTime desc");
        return newsService.query(qo);
    }

    /**
     * 根据日报id获取日报对象接口
     * 1.资源 /news/{id}
     * 2.请求方式 get
     * 3.请求参数 路径占位符的id
     * 4.返回结果 日报对象
     */
    @GetMapping("{id}")
    public News getById(@PathVariable Long id){
        return newsService.getById(id);
    }
}
